package homework.chapter12;

import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator;
import java.util.function.Predicate;

public class Work01 {
    public static void main(String[] args) {
//        （1）创建一个Collection集合（暂时创建ArrayList集合对象），并指定泛型为
        Collection<String> words = new ArrayList<>();
//        （2）添加如下单词到集合中，hello,java,world,com,love,you,mom,dad,noon
        words.add("hello");
        words.add("java");
        words.add("world");
        words.add("com");
        words.add("love");
        words.add("you");
        words.add("mom");
        words.add("dad");
        words.add("noon");

//        （3）使用foreach遍历输出，
        for (String word : words) {
            System.out.println("word = " + word);
        }

//        （4）使用集合的removeIf方法删除回文单词，为Predicate接口指定泛型
        Predicate<String> isPalindrome = word -> {
            int left = 0, right = word.length() - 1;
            while (left < right) {
                if (word.charAt(left) != word.charAt(right)) {
                    return false;
                }
                left++;
                right--;
            }
            return true;
        };
        words.removeIf(isPalindrome);

//        （5）再使用Iterator迭代器输出剩下的单词以及单词的长度，为Iterator接口指定泛型。
        Iterator<String> iterator = words.iterator();
        System.out.println("剩下的单词为：");
        while (iterator.hasNext()){
            String word = iterator.next();
            System.out.print(" " + word + "-"+word.length() + " ");
        }
    }
}
